package Day_0219.Redis;

/**
 * @author zxc
 * @date 2023/02/19 22:33
 **/
public class Redis_High_Concurrency_Availability {
    public static void main(String[] args) {
        /**
         * 一，如何保证Redis的高可用性 && 高并发性的
         * ===》
         * 1.如果用 redis 缓存技术的话，肯定要考虑如何用 redis 来加多台机器，保证 redis 是高并发的，
         * 还有就是，如何让 redis 保证自己不是挂掉以后就直接死掉了，即 redis 高可用。
         *
         * 2.- redis 主从架构 （实现Redis的高并发）
         * ===》 即，Redis集群能够 容纳大量数据 && 能够提供大于单机Redis接近10倍的读写并发;
         * （1）redis 实现高并发,主要依靠主从架构，一主多从，一般来说，很多项目其实就足够了，
         * （2）单主用来写入数据，单机几万 QPS，
         * （3）多从用来查询数据，多个从实例可以提供每秒 10w 的 QPS。
         * （4）如果想要在实现高并发的同时，容纳大量的数据，那么就需要 redis 集群，
         *  使用 redis 集群之后，可以提供每秒几十万的读写并发。
         *
         * 3.- redis 基于哨兵实现高可用
         * ===》
         * redis 高可用，如果是做主从架构部署，那么加上哨兵就可以了，
         * 就可以实现，Redis中主节点宕机的话，可以迅速地选取某个从节点为主节点，保证Redis的高可用。
         *
         * ===>
         * 总结 ：
         * （1）Redis的主从架构模式，来保证高并发;（即，主节点用于写入数据，从节点用于读取数据;）
         * （2）若是Redis需要存储大量数据的话，则选择使用Redis集群来代替，单机Redis;
         * （3）Redis中的哨兵节点，来保证Redis主从架构的高可用;
         * （即，在主节点发生宕机/故障之后，会选择从节点来代替主节点，从而保证Redis系统的高可用;）
         *
         */
    }
}
